.NET Framework Class Library |
BlockingCollection<(Of <(T>)>)..::.TryTakeFromAny Method (array<BlockingCollection<(Of <(T>)>)>[]()[], T%) |
BlockingCollection<(Of <(T>)>) Class See Also Send Feedback |
Attempts to remove an item from any one of the specified
BlockingCollection<(Of <(T>)>) instances.
Namespace:
System.Collections.Concurrent
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function TryTakeFromAny ( _ collections As BlockingCollection(Of T)(), _ <OutAttribute> ByRef item As T _ ) As Integer |
C# |
---|
public static int TryTakeFromAny( BlockingCollection<T>[] collections, out T item ) |
Parameters
- collections
- Type: array<
System.Collections.Concurrent..::.BlockingCollection<(Of <(T>)>)
>[]()[]
The array of collections.
- item
- Type:
T
%
The item removed from one of the collections.
Return Value
The index of the collection in the collections array from which the item was removed, or -1 if an item could not be removed.Remarks
A call to TryTakeFromAny may block until an item is available to be removed.
Exceptions
Exception | Condition |
---|---|
System..::.ArgumentNullException | The collections argument is null. |
System..::.ArgumentException | The collections argument is a 0-length array or contains a null element. |
System..::.ObjectDisposedException | At least one of the BlockingCollection<(Of <(T>)>) instances has been disposed. |
System..::.InvalidOperationException | At least one of the underlying collections was modified outside of its BlockingCollection<(Of <(T>)>) instance. |
System..::.ArgumentOutOfRangeException | The count of collections is greater than the maximum size of 62 for STA and 63 for MTA. |